Coverage for views.py : 47%
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
|
""" Book: Building RESTful Python Web Services Chapter 8: Testing and Deploying an API with Flask Author: Gaston C. Hillar - Twitter.com/gastonhillar Publisher: Packt Publishing Ltd. - http://www.packtpub.com """
def verify_user_password(name, password):
user = User.query.get_or_404(id) result = user_schema.dump(user).data return result
def get(self): pagination_helper = PaginationHelper( request, query=User.query, resource_for_url='api.userlistresource', key_name='results', schema=user_schema) result = pagination_helper.paginate_query() return result
response = {'user': 'No input data provided'} return response, status.HTTP_400_BAD_REQUEST return errors, status.HTTP_400_BAD_REQUEST response = {'user': 'An user with the same name already exists'} return response, status.HTTP_400_BAD_REQUEST user.check_password_strength_and_hash_if_ok(request_dict['password']) else: return {"error": error_message}, status.HTTP_400_BAD_REQUEST except SQLAlchemyError as e: db.session.rollback() resp = {"error": str(e)} return resp, status.HTTP_400_BAD_REQUEST
message = Message.query.get_or_404(id) result = message_schema.dump(message).data return result
message = Message.query.get_or_404(id) message_dict = request.get_json(force=True) if 'message' in message_dict: message_message = message_dict['message'] if Message.is_unique(id=id, message=message_message): message.message = message_message else: response = {'error': 'A message with the same message already exists'} return response, status.HTTP_400_BAD_REQUEST if 'duration' in message_dict: message.duration = message_dict['duration'] if 'printed_times' in message_dict: message.printed_times = message_dict['printed_times'] if 'printed_once' in message_dict: message.printed_once = message_dict['printed_once'] dumped_message, dump_errors = message_schema.dump(message) if dump_errors: return dump_errors, status.HTTP_400_BAD_REQUEST validate_errors = message_schema.validate(dumped_message) if validate_errors: return validate_errors, status.HTTP_400_BAD_REQUEST try: message.update() return self.get(id) except SQLAlchemyError as e: db.session.rollback() resp = {"error": str(e)} return resp, status.HTTP_400_BAD_REQUEST
message = Message.query.get_or_404(id) try: delete = message.delete(message) response = make_response() return response, status.HTTP_204_NO_CONTENT except SQLAlchemyError as e: db.session.rollback() resp = jsonify({"error": str(e)}) return resp, status.HTTP_401_UNAUTHORIZED
pagination_helper = PaginationHelper( request, query=Message.query, resource_for_url='api.messagelistresource', key_name='results', schema=message_schema) result = pagination_helper.paginate_query() return result
request_dict = request.get_json() if not request_dict: response = {'message': 'No input data provided'} return response, status.HTTP_400_BAD_REQUEST errors = message_schema.validate(request_dict) if errors: return errors, status.HTTP_400_BAD_REQUEST message_message = request_dict['message'] if not Message.is_unique(id=0, message=message_message): response = {'error': 'A message with the same message already exists'} return response, status.HTTP_400_BAD_REQUEST try: category_name = request_dict['category']['name'] category = Category.query.filter_by(name=category_name).first() if category is None: # Create a new Category category = Category(name=category_name) db.session.add(category) # Now that we are sure we have a category # create a new Message message = Message( message=message_message, duration=request_dict['duration'], category=category) message.add(message) query = Message.query.get(message.id) result = message_schema.dump(query).data return result, status.HTTP_201_CREATED except SQLAlchemyError as e: db.session.rollback() resp = {"error": str(e)} return resp, status.HTTP_400_BAD_REQUEST
resp = {'message': 'No input data provided'} return resp, status.HTTP_400_BAD_REQUEST return errors, status.HTTP_400_BAD_REQUEST else: response = {'error': 'A category with the same name already exists'} return response, status.HTTP_400_BAD_REQUEST except SQLAlchemyError as e: db.session.rollback() resp = {"error": str(e)} return resp, status.HTTP_400_BAD_REQUEST
category = Category.query.get_or_404(id) try: category.delete(category) response = make_response() return response, status.HTTP_204_NO_CONTENT except SQLAlchemyError as e: db.session.rollback() resp = jsonify({"error": str(e)}) return resp, status.HTTP_401_UNAUTHORIZED
resp = {'message': 'No input data provided'} return resp, status.HTTP_400_BAD_REQUEST return errors, status.HTTP_400_BAD_REQUEST except SQLAlchemyError as e: db.session.rollback() resp = {"error": str(e)} return resp, status.HTTP_400_BAD_REQUEST
|